home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 May / EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso / recent2 / qamitrack1.80.lha / QAmiTrack / source / TrackRexx.h < prev   
C/C++ Source or Header  |  1997-04-06  |  4KB  |  180 lines

  1. /*
  2.  * Source generated with ARexxBox 1.12 (May 18 1993)
  3.  * which is Copyright (c) 1992,1993 Michael Balzer
  4.  */
  5.  
  6. #ifndef _TrackRexx_H
  7. #define _TrackRexx_H
  8.  
  9. #define RXIF_INIT   1
  10. #define RXIF_ACTION 2
  11. #define RXIF_FREE   3
  12.  
  13. #define ARB_CF_ENABLED     (1L << 0)
  14.  
  15. #define ARB_HF_CMDSHELL    (1L << 0)
  16. #define ARB_HF_USRMSGPORT  (1L << 1)
  17.  
  18. struct RexxHost
  19. {
  20.     struct MsgPort *port;
  21.     char portname[ 80 ];
  22.     long replies;
  23.     struct RDArgs *rdargs;
  24.     long flags;
  25.     APTR userdata;
  26. };
  27.  
  28. struct rxs_command
  29. {
  30.     char *command, *args, *results;
  31.     long resindex;
  32.     void (*function)( struct RexxHost *, void **, long, struct RexxMsg * );
  33.     long flags;
  34. };
  35.  
  36. struct arb_p_link
  37. {
  38.     char    *str;
  39.     int        dst;
  40. };
  41.  
  42. struct arb_p_state
  43. {
  44.     int        cmd;
  45.     struct arb_p_link *pa;
  46. };
  47.  
  48. #ifndef NO_GLOBALS
  49. extern char RexxPortBaseName[80];
  50. extern struct rxs_command rxs_commandlist[];
  51. extern struct arb_p_state arb_p_state[];
  52. extern int command_cnt;
  53. extern char *rexx_extension;
  54. #endif
  55.  
  56. void ReplyRexxCommand( struct RexxMsg *rxmsg, long prim, long sec, char *res );
  57. void FreeRexxCommand( struct RexxMsg *rxmsg );
  58. struct RexxMsg *CreateRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  59. struct RexxMsg *CommandToRexx( struct RexxHost *host, struct RexxMsg *rexx_command_message );
  60. struct RexxMsg *SendRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  61.  
  62. void CloseDownARexxHost( struct RexxHost *host );
  63. struct RexxHost *SetupARexxHost( char *basename, struct MsgPort *usrport );
  64. struct rxs_command *FindRXCommand( char *com );
  65. char *ExpandRXCommand( struct RexxHost *host, char *command );
  66. char *StrDup( char *s );
  67. void ARexxDispatch( struct RexxHost *host );
  68.  
  69. /* rxd-Strukturen dürfen nur AM ENDE um lokale Variablen erweitert werden! */
  70.  
  71. struct rxd_connect
  72. {
  73.     long rc, rc2;
  74.     struct {
  75.         char *action;
  76.         long *actionindex;
  77.         char *host;
  78.         long *hostindex;
  79.         char *confirm;
  80.     } arg;
  81. };
  82.  
  83. void rx_connect( struct RexxHost *, struct rxd_connect **, long, struct RexxMsg * );
  84.  
  85. struct rxd_get
  86. {
  87.     long rc, rc2;
  88.     struct {
  89.         char *var, *stem;
  90.         long clients;
  91.         long actions;
  92.     } arg;
  93.     struct {
  94.         char *server;
  95.         long *port;
  96.         long *confirm;
  97.         long *connected;
  98.         long *numclients;
  99.         long *enabled;
  100.         long *numactions;
  101.         long *hidden;
  102.         char *comment;
  103.         long *lastentryclicked;
  104.         char **clients;
  105.         char **comments;
  106.         long **lastchanged;
  107.         char **actions;
  108.         char **commands;
  109.         long *currentaction;
  110.         char *logfile;
  111.         char *speaklevel;
  112.         char *loglevel;
  113.         char **usernames;
  114.         char **realnames;
  115.         long **winopen;
  116.         char *viewby;
  117.         char *visibleto;
  118.         char *username;
  119.         char *realname;
  120.     } res;
  121. };
  122.  
  123. void rx_get( struct RexxHost *, struct rxd_get **, long, struct RexxMsg * );
  124.  
  125. struct rxd_quit
  126. {
  127.     long rc, rc2;
  128. };
  129.  
  130. void rx_quit( struct RexxHost *, struct rxd_quit **, long, struct RexxMsg * );
  131.  
  132. struct rxd_request
  133. {
  134.     long rc, rc2;
  135.     struct {
  136.         char *var, *stem;
  137.         char *title;
  138.         char *message;
  139.         char *buttons;
  140.     } arg;
  141.     struct {
  142.         long *clicked;
  143.     } res;
  144. };
  145.  
  146. void rx_request( struct RexxHost *, struct rxd_request **, long, struct RexxMsg * );
  147.  
  148. struct rxd_set
  149. {
  150.     long rc, rc2;
  151.     struct {
  152.         char *var, *stem;
  153.         char *enabled;
  154.         char *hidden;
  155.         char *confirm;
  156.         long *left;
  157.         long *top;
  158.         long *width;
  159.         long *height;
  160.         char *comment;
  161.         char *server;
  162.         char *windowtitle;
  163.         long *currentactionindex;
  164.         char *action;
  165.         long *port;
  166.         char *currentaction;
  167.         char *logfile;
  168.         char *speaklevel;
  169.         char *loglevel;
  170.         char *viewby;
  171.     } arg;
  172.     struct {
  173.         long *actionindex;
  174.     } res;
  175. };
  176.  
  177. void rx_set( struct RexxHost *, struct rxd_set **, long, struct RexxMsg * );
  178.  
  179. #endif
  180.